-
Notifications
You must be signed in to change notification settings - Fork 94
feat: Utilize interface-data-exchange to build a completly new webrtc-star #148
base: master
Are you sure you want to change the base?
Conversation
775c2a3
to
ec5e614
Compare
Some ISPs really _love_ WebRTC (Yes, it really does take 40s until 'signal' gets emitted - and 20s more just to get sure)
Blocked:
Todos:
Note: Tests on CI are failing as the current setup requires some npm-linking until all prs are merged and deps get updated. |
2a5832c
to
3cb9bb2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interface-data-exchange is not a libp2p interface and I'm not seeing the proposal/reasoning for it to exist. What's the benefits here?
@diasdavid Currently webrtc-star utilizes a centralized socket.io server as an exchange mechanism for exchanging the webrtc signalling data.
For something to be a valid implementation it must:
There are some slides (which are also linked above). Specifically this part (and the slides that follow it) should elaborate a bit more specifically how this works, previous slides should give an idea about why this is necesarry. |
@diasdavid Any follow-up feedback? |
This is very cool stuff! I wish @mkg20001 's contributions could get some more follow-up, and I think efforts like this are incredibly valuable towards moving WebRTC transports and peer exchange along for IPFS, which is becoming a critical requirement for more and more developers. |
Can I get some feedback? I mean it's been almost year. Considering the effort I invested into this I think it's only fair if this gets at least looked at and reviewed. |
@mkg20001 sorry this fell off the radar. @vasco-santos and I will coordinate to make sure we get you feedback for this this week. |
@mkg20001 I did a run through of the modules and added some feedback/questions below. Interface Data Exchange
General
Questions
|
It uses the most generic thing,
Will add more docs. For now that is:
We aren't stuck with a single transport such as
I didn't invest much effort into this in the beginning because I wasn't sure of it's inclusion into the libp2p project as a standardized interface.
Will add this onto my pile of stuff for this month, maybe at the end of it something should be ready. But not so sure if I get the time to demo it at the all-hands (I remember doing a demo where I just let the tests run)
:thumbs_up:
WIP ™️ |
I think protobuf would be good as we're already leveraging it in a lot of places. I also think it helps remove some of the potential ambiguity of what's being passed.
A repo of it working I could pull down and run would be fine too, assuming that's easier than the demo. (Maybe not depending on what needs to be linked for the patches you've previously linked to). 👍 on that approach. Overall I like the approach and think it's valuable for a more reliable network, as well as for providing a mechanism of transport "upgrading". I appreciate the work you put into it. Feel free to ping @vasco-santos or I if something isn't getting looked at and we'll do our best to get back to you quickly. |
Interface Data Exchange
Slides/Presentation to explain what this does